interface IA{
    void test();

        }
class OuterClass{

    public int data1=111;
    public static int data2=2;
    public int data3=3;
    class InnerClass{
        public int data1=1;
        public int data4=4;
       public static  final int data5=5;
        private int data6=6;
        public void test(){

            System.out.println("InnerClass:test()"+data5);
            System.out.println(OuterClass.this.data1);
            System.out.println(this.data1);
            System.out.println(data2);
            System.out.println(data3);

        }

    }
    public void test(){
        System.out.println("OutterClass::test()");
    }

    }
class Out{
    public int data1=1;
    public static int data2=1;


    static class InnerClass{

        public static int data5=5;
        public void test(){
            Out out=new Out();
            System.out.println(data2);
            System.out.println(out.data1);
            System.out.println(data5);
            System.out.println("InnerClass::test()");
        }

    }
    public void test(){
        System.out.println("out::test()");
    }


}
public class Test2 {
    public static void main(String[]args){

        IA a=new IA(){
           public  void test(){
               System.out.println("chongxie");

            }


        };
        a.test();
        new IA(){
            public  void test(){
                System.out.println("chongxie");

            }


        }.test();



    }

    public static void main2(String []args){
       /* OuterClass outerClass=new OuterClass();
        OuterClass.InnerClass innerClass=outerClass.new InnerClass();
        innerClass.test();*/
        Out.InnerClass inner=new Out.InnerClass();
        inner.test();


    }
}
